package org.redis.cluster.registry;

import org.redis.cluster.RedisCluster;
import org.redis.cluster.config.RegistryConfig;
import org.redis.cluster.extension.ExtensionLoader;
import org.redis.cluster.plugin.Plugin;

public class DefaultRegistryFactory implements Plugin,RegistryFactory {

	private RedisCluster redisCluster;
	private ExtensionLoader extensionLoader;
	
	@Override
	public void init(RedisCluster redisCluster) {
		this.redisCluster=redisCluster;
		this.extensionLoader=redisCluster.getExtensionLoader();
	}
	
	@Override
	public void destroy() {
	}
	
	@Override
	public Registry getRegistry(RegistryConfig registryConfig) {
		return extensionLoader.load(registryConfig.getRegistry(), Registry.class, registryConfig);
	}
}